package com.wzy.mall.service.client;

import com.wzy.mall.model.bo.clientBO.OrderAddBO;
import com.wzy.mall.model.bo.clientBO.OrderCartSettleListBO;
import com.wzy.mall.model.bo.clientBO.OrderSendCommentBO;
import com.wzy.mall.model.vo.clientVO.OrderCartShowVO;

import java.util.List;

public interface OrderService {
    /**
     *  添加订单
     * @param orderAddBO
     * @return
     */
    int addOrder(OrderAddBO orderAddBO);

    /**
     *  根据state和token查找购物车中的订单
     * @param state
     * @param token
     * @return
     */
    List<OrderCartShowVO> getOrderByState(String state, String token);

    /**
     *  购物车订单结算 实际上是更新订单表
     * @param orderCartSettleListBO
     * @return
     */
    int settleAccounts(OrderCartSettleListBO orderCartSettleListBO);

    /**
     *  更改订单状态
     * @param id
     * @return
     */
    int updateOrderState(int id);

    /**
     *  删除订单（逻辑删除 —— 更新visible属性）
     * @param id
     * @return
     */
    int deleteOrder(int id);

    /**
     *  确认收货 —— 更改state
     * @param id
     * @return
     */
    int confirmReceive(int id);

    /**
     *  提交商品评价
     * @param orderSendCommentBO
     * @return
     */
    int insertComment(OrderSendCommentBO orderSendCommentBO);
}
